﻿// 501 查重判断.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <unordered_map>


using namespace std;
/*
http://oj.daimayuan.top/course/7/problem/481

蜗蜗大学迎来了毕业季。现在有一批毕业生的论文需要查重。

蜗蜗大学的毕业论文是用数字写成的，现在蜗蜗教授用经验找出了一些可能是抄袭的论文，蜗蜗教授需要你来做出更准确的判断。

现在你被给到了两篇论文，第一篇是前人留下的，第二篇是你需要进行查重的。

如果第二篇论文中的某个数字在第一篇论文里出现过，就会被标记。
如果第二篇论文被标记的数字数量占比大于等于 50%，这篇论文就被判定为抄袭。
注意，如果第二篇论文中某个数字出现了多次并且它也在第一篇论文里出现过，那么它会被标记多次。

现在请你进行查重判断，如果第二篇论文是抄袭的，输出 Yes，否则输出 No。

输入格式
第一行包含两个整数 n,m分别表示第一篇论文和第二篇论文的长度。

接下来一行，包含 n个整数 a1,a2,…,an，表示第一篇论文。

接下来一行，包含 m个整数 b1,b2,…,bm，表示第二篇论文。

输出格式
输出一行 Yes 或者 No 。

样例输入
5 6
1 2 3 4 5
3 4 5 6 7 8
样例输出
Yes
数据规模
对于 100%的数据，保证 1≤n,m≤2×105,0≤ai,bi≤109。
*/

const int N = 200010;
unordered_map<int, int> mm;
int n, m;
int A[N], B[N];


int main()
{
	cin >> n >> m;
	int ans = 0;
	for (int i = 0; i < n; i++) { cin >> A[i]; mm[A[i]]++; }
	for (int i = 0; i < m; i++) { cin >> B[i]; if (mm.count(B[i]) != 0) ans++; }
	
	if ((m - ans) <= ans) {
		cout << "Yes" << endl;
	}
	else {
		cout << "No" << endl;
	}


	return 0;
}

 